Traditionally, graphics applications (e.g. games, computer aided drafting programs, etc.) as well as other applications are configured to execute in single processor environments. Specifically, the applications themselves are executed by a single processor. Further, during such execution, the applications perform a plurality of application-specific tasks, which are also executed by the single processor.
These tasks are typically carried out by the application using calls to a particular application program interface (API), in the form of API calls. In response to such API calls, a driver is configured to execute each API call utilizing the single processor which is executing the application. Thus, both the application itself, as well as the API calls, are executed on the single processor, during use.
Recently, many computing environments have been designed to include multiple processors for the purpose of making additional computing resources available to applications, etc. Unfortunately, however, drivers have typically not been updated to accommodate such multiple-processor environments, particularly in the realm of graphics applications. Thus, in the context of the example provided hereinabove, a traditional driver would simply assign the API calls to the same processing thread (associated with a single processor) by which the application is being executed. To this end, multiple processor environments are often not leveraged to the extent possible.
There is thus a need for overcoming these and/or other problems associated with the prior art.